5 // Created by Evan Schoenberg on 8/7/06.
8 #import "ESQQService.h"
9 #import "ESPurpleQQAccount.h"
10 #import "ESPurpleQQAccountViewController.h"
11 #import <Adium/AIStatusControllerProtocol.h>
12 #import <AIUtilities/AICharacterSetAdditions.h>
14 @implementation ESQQService
16 - (Class)accountClass{
17 return [ESPurpleQQAccount class];
20 - (AIAccountViewController *)accountViewController{
21 return [ESPurpleQQAccountViewController accountViewController];
24 - (DCJoinChatViewController *)joinChatView{
29 - (NSString *)serviceCodeUniqueID{
30 return @"libpurple-qq";
32 - (NSString *)serviceID{
35 - (NSString *)serviceClass{
38 - (NSString *)shortDescription{
41 - (NSString *)longDescription{
44 - (NSCharacterSet *)allowedCharacters{
45 NSMutableCharacterSet *allowedCharacters = [[NSCharacterSet alphanumericCharacterSet] mutableCopy];
46 NSCharacterSet *returnSet;
48 [allowedCharacters addCharactersInString:@"-"];
49 returnSet = [allowedCharacters immutableCopy];
50 [allowedCharacters release];
52 return [returnSet autorelease];
54 - (NSCharacterSet *)ignoredCharacters{
55 return [NSCharacterSet characterSetWithCharactersInString:@""];
60 - (BOOL)caseSensitive{
63 - (AIServiceImportance)serviceImportance{
64 return AIServiceSecondary;
66 - (BOOL)canCreateGroupChats{
70 - (void)registerStatuses{
71 [[adium statusController] registerStatus:STATUS_NAME_AVAILABLE
72 withDescription:[[adium statusController] localizedDescriptionForCoreStatusName:STATUS_NAME_AVAILABLE]
73 ofType:AIAvailableStatusType
75 [[adium statusController] registerStatus:STATUS_NAME_AWAY
76 withDescription:[[adium statusController] localizedDescriptionForCoreStatusName:STATUS_NAME_AWAY]
77 ofType:AIAwayStatusType
79 [[adium statusController] registerStatus:STATUS_NAME_INVISIBLE
80 withDescription:[[adium statusController] localizedDescriptionForCoreStatusName:STATUS_NAME_INVISIBLE]
81 ofType:AIInvisibleStatusType